Image data captured by an image sensor or received from other data sources is often processed in an image processing pipeline before further processing or consumption. For example, raw image data may be corrected, filtered, or otherwise modified before being provided to subsequent components such as a video encoder. To perform corrections or enhancements for captured image data, various components, unit stages or modules may be employed.
Such an image processing pipeline may be structured so that corrections or enhancements to the captured image data can be performed in an expedient way. For example, the image processing pipeline may employ an image processing algorithm used to calculate histograms-of-oriented gradients (HOG) of image data. The image processing algorithm is typically performed by executing software programs on a central processing unit (CPU). However, execution of such programs on the CPU consumes significant bandwidth of the CPU and other peripheral resources as well as increase power consumption.